package com.esm.sm800.database.greendao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.esm.sm800.database.dbmodel.BornDoor;
import com.esm.sm800.database.dbmodel.Buzhen_report;
import com.esm.sm800.database.dbmodel.Draw_report;
import com.esm.sm800.database.dbmodel.Member;
import com.esm.sm800.database.dbmodel.Needle;
import com.esm.sm800.database.dbmodel.SystemAllInfo;
import com.esm.sm800.database.dbmodel.Warehousing;
import com.esm.sm800.database.dbmodel.Warehousing_record;

import com.esm.sm800.database.greendao.BornDoorDao;
import com.esm.sm800.database.greendao.Buzhen_reportDao;
import com.esm.sm800.database.greendao.Draw_reportDao;
import com.esm.sm800.database.greendao.MemberDao;
import com.esm.sm800.database.greendao.NeedleDao;
import com.esm.sm800.database.greendao.SystemAllInfoDao;
import com.esm.sm800.database.greendao.WarehousingDao;
import com.esm.sm800.database.greendao.Warehousing_recordDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig bornDoorDaoConfig;
    private final DaoConfig buzhen_reportDaoConfig;
    private final DaoConfig draw_reportDaoConfig;
    private final DaoConfig memberDaoConfig;
    private final DaoConfig needleDaoConfig;
    private final DaoConfig systemAllInfoDaoConfig;
    private final DaoConfig warehousingDaoConfig;
    private final DaoConfig warehousing_recordDaoConfig;

    private final BornDoorDao bornDoorDao;
    private final Buzhen_reportDao buzhen_reportDao;
    private final Draw_reportDao draw_reportDao;
    private final MemberDao memberDao;
    private final NeedleDao needleDao;
    private final SystemAllInfoDao systemAllInfoDao;
    private final WarehousingDao warehousingDao;
    private final Warehousing_recordDao warehousing_recordDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        bornDoorDaoConfig = daoConfigMap.get(BornDoorDao.class).clone();
        bornDoorDaoConfig.initIdentityScope(type);

        buzhen_reportDaoConfig = daoConfigMap.get(Buzhen_reportDao.class).clone();
        buzhen_reportDaoConfig.initIdentityScope(type);

        draw_reportDaoConfig = daoConfigMap.get(Draw_reportDao.class).clone();
        draw_reportDaoConfig.initIdentityScope(type);

        memberDaoConfig = daoConfigMap.get(MemberDao.class).clone();
        memberDaoConfig.initIdentityScope(type);

        needleDaoConfig = daoConfigMap.get(NeedleDao.class).clone();
        needleDaoConfig.initIdentityScope(type);

        systemAllInfoDaoConfig = daoConfigMap.get(SystemAllInfoDao.class).clone();
        systemAllInfoDaoConfig.initIdentityScope(type);

        warehousingDaoConfig = daoConfigMap.get(WarehousingDao.class).clone();
        warehousingDaoConfig.initIdentityScope(type);

        warehousing_recordDaoConfig = daoConfigMap.get(Warehousing_recordDao.class).clone();
        warehousing_recordDaoConfig.initIdentityScope(type);

        bornDoorDao = new BornDoorDao(bornDoorDaoConfig, this);
        buzhen_reportDao = new Buzhen_reportDao(buzhen_reportDaoConfig, this);
        draw_reportDao = new Draw_reportDao(draw_reportDaoConfig, this);
        memberDao = new MemberDao(memberDaoConfig, this);
        needleDao = new NeedleDao(needleDaoConfig, this);
        systemAllInfoDao = new SystemAllInfoDao(systemAllInfoDaoConfig, this);
        warehousingDao = new WarehousingDao(warehousingDaoConfig, this);
        warehousing_recordDao = new Warehousing_recordDao(warehousing_recordDaoConfig, this);

        registerDao(BornDoor.class, bornDoorDao);
        registerDao(Buzhen_report.class, buzhen_reportDao);
        registerDao(Draw_report.class, draw_reportDao);
        registerDao(Member.class, memberDao);
        registerDao(Needle.class, needleDao);
        registerDao(SystemAllInfo.class, systemAllInfoDao);
        registerDao(Warehousing.class, warehousingDao);
        registerDao(Warehousing_record.class, warehousing_recordDao);
    }
    
    public void clear() {
        bornDoorDaoConfig.clearIdentityScope();
        buzhen_reportDaoConfig.clearIdentityScope();
        draw_reportDaoConfig.clearIdentityScope();
        memberDaoConfig.clearIdentityScope();
        needleDaoConfig.clearIdentityScope();
        systemAllInfoDaoConfig.clearIdentityScope();
        warehousingDaoConfig.clearIdentityScope();
        warehousing_recordDaoConfig.clearIdentityScope();
    }

    public BornDoorDao getBornDoorDao() {
        return bornDoorDao;
    }

    public Buzhen_reportDao getBuzhen_reportDao() {
        return buzhen_reportDao;
    }

    public Draw_reportDao getDraw_reportDao() {
        return draw_reportDao;
    }

    public MemberDao getMemberDao() {
        return memberDao;
    }

    public NeedleDao getNeedleDao() {
        return needleDao;
    }

    public SystemAllInfoDao getSystemAllInfoDao() {
        return systemAllInfoDao;
    }

    public WarehousingDao getWarehousingDao() {
        return warehousingDao;
    }

    public Warehousing_recordDao getWarehousing_recordDao() {
        return warehousing_recordDao;
    }

}
